package edu.luc.etl.jbunit.tl;

/**
 * A visitor for temporal logic expressions.
 */
interface Visitor<T> {
    void visitExpr(Expr<T> e);
    void visitLeaf(Leaf<T> e);
    void visitAllPast(AllPast<T> e);
    void visitAnd(And<T> e);
    void visitBackTo(BackTo<T> e);
    void visitImplies(Implies<T> e);
    void visitNot(Not<T> e);
    void visitOnce(Once<T> e);
    void visitOr(Or<T> e);
    void visitPrevious(Previous<T> e);
    void visitSince(Since<T> e);
}
